home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / xcoral / xcoral.lha / xcoral-1.72 / browser.h < prev    next >
C/C++ Source or Header  |  1993-02-24  |  4KB  |  131 lines

  1. /*
  2. ** Copyright 1989, 1992 by Lionel Fournigault
  3. **
  4. ** Permission to use, copy, and distribute for non-commercial purposes,
  5. ** is hereby granted without fee, providing that the above copyright
  6. ** notice appear in all copies and that both the copyright notice and this
  7. ** permission notice appear in supporting documentation.
  8. ** The software may be modified for your own purposes, but modified versions
  9. ** may not be distributed.
  10. ** This software is provided "as is" without any expressed or implied warranty.
  11. **
  12. **
  13. */
  14.  
  15. #ifndef _BROWSER_H_
  16. #define _BROWSER_H_
  17.  
  18. #include "text.h"
  19. #include "buffer.h"
  20. #include "scroll.h"
  21.  
  22. #define B_FONT    "-adobe-times-medium-r-normal--18-180-75-75-p-94-iso8859-1"
  23. #define B_MAP        1
  24. #define B_UNMAP        2
  25. #define B_ADD        5
  26. #define B_DEL        6
  27.  
  28. #define DEC_MODE    0
  29.  
  30. #define B_BUTTON_WIDTH     60
  31. #define B_INTER        10
  32. #define B_SPACE        5
  33.  
  34. #define W_CLASS        0
  35. #define W_PARENT    1
  36. #define W_CHILD        2
  37. #define W_METHOD    3
  38. #define W_PROC        4
  39. #define W_FILES        5
  40. #define W_VISIT        6
  41.  
  42. #define C_FIRST_WIN    4
  43. #define B_NB_WIN    7
  44.  
  45. #define W_CHAP        7
  46. #define W_SECTION    8
  47. #define W_SUBSECTION    9
  48.  
  49. #define RECURSIVE    11
  50. #define NO_RECURSIVE    12
  51.  
  52. #define B_BUFFER_SIZE    5000
  53.  
  54. /*
  55.  * Les Infos des fenetres de texte.
  56.  */
  57. typedef struct {
  58.     Window    frame, title, main;    /* Les fenetres principales */
  59.     int     f_width, f_height;    /* Les dimensions */
  60.     int    t_width, t_height;
  61.     int    m_width, m_height;
  62.     int     x, y;    /* La position */
  63.     Text    *text;    /* Les infos sur le texte */
  64.     Buf    *buf;    /* Le buffer */
  65.     SWin    *scroll;/* Les Infos sur le scroll */
  66.     int     select;    /* Ligne selectionnee */
  67. }BWin;
  68.  
  69. /*
  70.  * Le browser.
  71.  */
  72. typedef struct {
  73.     int        width, height;    /* Larguer hauteur du browser */
  74.     unsigned long     fg, bg, text_fg, text_bg;/* Les couleurs */
  75.     Window        frame, title, main;    /* Les fenetres principales */
  76.     char         *title_name;    /* L'objet selectionne */
  77.     Window        dec,add, del;    /* Les bouttons */
  78.     Window        edit;        /* La fenetre de visite */
  79.     BWin        tbw [7];    /* Les fenetres de texte */
  80.     Buf         *filebuf;    /* Pour les noms de fichiers */
  81.     GC        gc;        /* Le contexte graphique */
  82.     XFontStruct     *font;        /* La fonte */
  83.     int        title_height;    /* La hauteur du titre */
  84.     int        button_height;    /* la hauteur des bouttons */
  85.     unsigned long    ts, bs;        /* Les couleurs pour le 3D */
  86.     int         dec_imp_flag;    /* Toggle flag pour les methodes */
  87.     char         **methods_save;    /* Sauvegarde des divers pointeurs */
  88.     char        **class_save;
  89.     char        **files_save;
  90.     int         stat;        /* Browser mappe ou non */
  91.     int        visible;    /* Visibilite */
  92.     int        mode;        /* Le mode */
  93.        char         dir [256];    /* La directorie courante */
  94.     int        visit_raise;
  95.     Time        click_time;
  96.     Time        old_click;
  97. } Browser;
  98.  
  99. /*
  100.  * Public
  101.  */
  102. extern void     InitBrowser    ();
  103. extern void     ExtractInfos     ( /* char **name, int type */ );
  104. extern void     ConfigBrowser    ( /* int width, int height */ );
  105. extern void     ConfigVisitWindow ( /* int width, int height */ );
  106. extern void     DisplayBrowser ();
  107. extern void     UnmapBrowser ();
  108. extern void     SetBrowserMode ( /* int mode */ );
  109. extern void     ExposeBrowser ( /* XEvent *ev );
  110. extern int    ButtonBrowser ( /* XButtonEvent *ev */ );
  111. extern int    KeyPressInBrowser ( /* XKeyEvent *ev */ );
  112. extern void    ConfigScroll ( /* Bwin */ );
  113. extern void    LoadDir ( /* dirname */ );
  114. extern void    SetInfos ();
  115. extern void    RefreshBrowserControl ();
  116. extern void    SetBrowserDir ( /* dirname */ );
  117. extern int    SetBrowserVisibility ( /* event */ );
  118. extern int    GoodSuffix ( /* s */ );
  119. extern void    RefreshBrowserInfos ();
  120.  
  121. #define GetBrowserFrame()    ( br.frame )
  122. #define GetBrowserVisit()    ( br.tbw[W_VISIT].frame )
  123.  
  124. /*
  125.  * Engine
  126.  */
  127. #include "result_types.h"
  128. #include "browser_eng.h"
  129.  
  130. #endif /* _BROWSER_H_ */
  131.